--DROP TABLE ASM_INSOLVENTI_TIA_1;

--CREATE TABLE ASM_INSOLVENTI_TIA_1 AS;
--TRUNCATE TABLE ASM_INSOLVENTI_TIA_1;
--INSERT INTO ASM_INSOLVENTI_TIA_1;

CREATE TABLE ASM_INSOLVENTI_TIA_1 AS;
truncate table ASM_INSOLVENTI_TIA_1;
INSERT INTO ASM_INSOLVENTI_TIA_1
select distinct t.* from (
SELECT NOMINATIVO_RAG_SOC,
INDSPE.PREFISSO_VIA PREF_SPE,INDSPE.TOPONIMO_VIA TOP_SPE,INDSPE.DENOMINAZIONE_VIA VIA_SPE,
INDSPE.CIVICO NRO_SPE,INDSPE.COMUNE COM_SPE,
INDUTI.PREFISSO_VIA PREF_UTI,INDUTI.TOPONIMO_VIA TOP_UTI,INDUTI.DENOMINAZIONE_VIA VIA_UTI,
INDUTI.CIVICO NRO_UTI,INDUTI.COMUNE COM_UTI,
persone.CODICE_FISCALE ,persone.PARTITA_IVA,
(SELECT DISTINCT MAX(DATA_EMISSIONE_DOCUMENTO) FROM DB1.RATE@pgu3 RA WHERE TO_NUMBER(SUBSTR(RA.CODICE_RIF_UTENTE,2,8)) = CO.CODICE_UTENTE
                                                                                  AND RA.CODICE_GESTIONE=CO.CODICE_GESTIONE 
                                                                                  AND RA.CODICE_ORIGINE_DISPOSIZIONE='B'
                                                                                  AND RA.STATO_INCASSO_RATA='T') DATA_ULTIMO_PAGAMENTO,
CONCAT(CONCAT('IT018E',SUBSTR(CONCAT('00000000',FO.CODICE_ALLACCIaMENTO),-7,7)),SUBSTR(FO.PROGRESSIVO_UTENZA,-1,1)) pod
FROM DB1.PERSONE@pgu3,DB1.CONTRATTI_AGGREGAZIONI@pgu3 CA,DB1.INDIRIZZI@pgu3 INDSPE,DB1.CONTRATTI@pgu3 CO,DB1.FORNITURE@pgu3 FO,DB1.INDIRIZZI@pgu3 INDUTI,
sic4U_ambterni2.ASM_INSOLVENTI_TIA_0@tiaprd t0 

WHERE
           CA.CODICE_PERSONA_SPEDIZIONE=CODICE_PERSONA
          and  (TRIM(t0.codice_fiscale)=TRIM(persone.CODICE_FISCALE) or TRIM(t0.partitaiva)=TRIM(persone.partita_iva)   
                      OR REPLACE(REPLACE(REPLACE(REPLACE(T0.RAGIONE_SOCIALE,' ',NULL),'.',NULL),'*',NULL),'&',NULL)
                    =
                      REPLACE(REPLACE(REPLACE(REPLACE(NOMINATIVO_RAG_SOC,' ',NULL),'.',NULL),'*',NULL),'&',NULL))
AND CA.CODICE_INDIRIZZO_SPEDIZIONE=INDSPE.CODICE_INDIRIZZO
AND CA.CODICE_INDIRIZZO_UTILIZZATORE=INDUTI.CODICE_INDIRIZZO
AND CA.CODICE_GESTIONE ='ASM'
AND CO.CODICE_GESTIONE ='ASM'
AND CO.STATO_CONTRATTO = 'A'
AND CO.CODICE_UTENTE=CA.CODICE_UTENTE
AND CO.CODICE_SERVIZIO ='E'
AND FO.CODICE_GESTIONE ='ASM'
AND FO.CODICE_CONTRATTO=CO.CODICE_CONTRATTO
AND FO.CODICE_SERVIZIO ='E'




UNION 


SELECT NOMINATIVO_RAG_SOC,
INDSPE.PREFISSO_VIA PREF_SPE,INDSPE.TOPONIMO_VIA TOP_SPE,INDSPE.DENOMINAZIONE_VIA VIA_SPE,
INDSPE.CIVICO NRO_SPE,INDSPE.COMUNE COM_SPE,
INDUTI.PREFISSO_VIA PREF_UTI,INDUTI.TOPONIMO_VIA TOP_UTI,INDUTI.DENOMINAZIONE_VIA VIA_UTI,
INDUTI.CIVICO NRO_UTI,INDUTI.COMUNE COM_UTI,
PERSONE.CODICE_FISCALE ,PERSONE.PARTITA_IVA,
(SELECT DISTINCT MAX(DATA_EMISSIONE_DOCUMENTO) FROM DB5.RATE@PGU3 RA WHERE TO_NUMBER(SUBSTR(RA.CODICE_RIF_UTENTE,2,8)) = CO.CODICE_UTENTE
                                                                                  AND RA.CODICE_GESTIONE=CO.CODICE_GESTIONE 
                                                                                  AND RA.CODICE_ORIGINE_DISPOSIZIONE='B'
                                                                                  AND RA.STATO_INCASSO_RATA='T') DATA_ULTIMO_PAGAMENTO,
CONCAT(CONCAT('IT018E',SUBSTR(CONCAT('00000000',FO.CODICE_ALLACCIaMENTO),-7,7)),SUBSTR(FO.PROGRESSIVO_UTENZA,-1,1)) pod
FROM DB5.PERSONE@PGU3,DB5.CONTRATTI_AGGREGAZIONI@PGU3 CA,DB5.INDIRIZZI@PGU3 INDSPE,DB5.CONTRATTI@PGU3 CO,DB5.FORNITURE@PGU3 FO,DB5.INDIRIZZI@PGU3 INDUTI,
sic4U_ambterni2.ASM_INSOLVENTI_TIA_0@tiaprd t0 
WHERE
           CA.CODICE_PERSONA_SPEDIZIONE=CODICE_PERSONA
          and  (TRIM(t0.codice_fiscale)=TRIM(persone.CODICE_FISCALE) or TRIM(t0.partitaiva)=TRIM(persone.partita_iva)
                    OR REPLACE(REPLACE(REPLACE(REPLACE(T0.RAGIONE_SOCIALE,' ',NULL),'.',NULL),'*',NULL),'&',NULL)
                    =
                    REPLACE(REPLACE(REPLACE(REPLACE(NOMINATIVO_RAG_SOC,' ',NULL),'.',NULL),'*',NULL),'&',NULL)
                    )
AND CA.CODICE_INDIRIZZO_SPEDIZIONE=INDSPE.CODICE_INDIRIZZO
AND CA.CODICE_INDIRIZZO_UTILIZZATORE=INDUTI.CODICE_INDIRIZZO
AND CA.CODICE_GESTIONE ='UNRG'
AND CO.CODICE_GESTIONE ='UNRG'
AND CO.STATO_CONTRATTO = 'A'
AND CO.CODICE_UTENTE=CA.CODICE_UTENTE
AND CO.CODICE_SERVIZIO ='E'
AND FO.CODICE_GESTIONE ='UNRG'
AND FO.CODICE_CONTRATTO=CO.CODICE_CONTRATTO
AND FO.CODICE_SERVIZIO ='E') T;

COMMIT;

SELECT
'-------->' "DATI TIA",
  A.*,
  
'-------->' "DATI FIMM",
 B.NOMINATIVO_RAG_SOC NOME_fimm,B.PREF_SPE,B.TOP_SPE,B.VIA_SPE,B.NRO_SPE,B.COM_SPE,
B.PREF_uti,B.TOP_UTI,B.VIA_UTI,B.NRO_UTI,B.COM_UTI,
'-------->' "DATI FIMM nome",
 B1.NOMINATIVO_RAG_SOC NOME_fimm,B1.PREF_SPE,B1.TOP_SPE,B1.VIA_SPE,B1.NRO_SPE,B1.COM_SPE,
B1.PREF_uti,B1.TOP_UTI,B1.VIA_UTI,B1.NRO_UTI,B1.COM_UTI,b.data_ultimo_pagamento data_ultimo_pagamento_fimm,
 '-------->' "DATI ANAGRAFE",
 AN.COGNOME COGN_TERNI,AN.NOME NOME_TERNI,
 ELET_DESSTA VIA_TERNI,AN.NUMERO_CIVICO NRO_TERNI,
a.DATA_scadenza_minima MANCANO_PGAMENTI_DAL
 FROM 
 SIC4U_AMBTERNI2.ASM_INSOLVENTI_TIA_0@TIAPRD A,
  ASM_INSOLVENTI_TIA_1 B,
  ASM_INSOLVENTI_TIA_1 B1,
 db1.ASM_ANAGRAFE_TERNI_old@pgu3 AN,
  
  SIC4U_AMBTERNI2.V_ELETOPO@TIAPRD EL
 WHERE A.CODICE_FISCALE=B.CODICE_FISCALE(+)
 and  REPLACE(REPLACE(REPLACE(REPLACE(a.RAGIONE_SOCIALE,' ',NULL),'.',NULL),'*',NULL),'&',NULL)
                    =
                    REPLACE(REPLACE(REPLACE(REPLACE(b1.NOMINATIVO_RAG_SOC(+),' ',NULL),'.',NULL),'*',NULL),'&',NULL)
 AND     TRIM( A.PARTITAIVA) IS NULL
 AND A.CODICE_FISCALE=AN.CODICE_FISCALE(+)
 AND AN.CODICE_VIA=EL.ELET_ID(+)
 AND EL.COM_ID(+)=55032
 UNION
SELECT distinct
'-------->' "DATI TIA",
  A.*,
  
'-------->' "DATI FIMM",
 B.NOMINATIVO_RAG_SOC NOME_fimm,B.PREF_SPE,B.TOP_SPE,B.VIA_SPE,B.NRO_SPE,B.COM_SPE,
B.PREF_uti,B.TOP_UTI,B.VIA_UTI,B.NRO_UTI,B.COM_UTI,
'-------->' "DATI FIMM nome",
 B1.NOMINATIVO_RAG_SOC NOME_fimm,B1.PREF_SPE,B1.TOP_SPE,B1.VIA_SPE,B1.NRO_SPE,B1.COM_SPE,
B1.PREF_uti,B1.TOP_UTI,B1.VIA_UTI,B1.NRO_UTI,B1.COM_UTI,b.data_ultimo_pagamento data_ultimo_pagamento_fimm,
 '-------->' "DATI ANAGRAFE",
 AN.COGNOME COGN_TERNI,AN.NOME NOME_TERNI,
 ELET_DESSTA VIA_TERNI,AN.NUMERO_CIVICO NRO_TERNI,
a.DATA_scadenza_minima MANCANO_PGAMENTI_DAL
 
 FROM 
 SIC4U_AMBTERNI2.ASM_INSOLVENTI_TIA_0@TIAPRD A,
  ASM_INSOLVENTI_TIA_1 B,
  ASM_INSOLVENTI_TIA_1 B1,
  db1.ASM_ANAGRAFE_TERNi_old@pgu3 AN,
  SIC4U_AMBTERNI2.V_ELETOPO@TIAPRD EL
 WHERE A.PARTITAIVA=B.PARTITA_IVA(+)
  and  REPLACE(REPLACE(REPLACE(REPLACE(a.RAGIONE_SOCIALE,' ',NULL),'.',NULL),'*',NULL),'&',NULL)
                    =
                    REPLACE(REPLACE(REPLACE(REPLACE(b1.NOMINATIVO_RAG_SOC(+),' ',NULL),'.',NULL),'*',NULL),'&',NULL)
 AND     TRIM( A.PARTITAIVA) IS NOT NULL

                 
 AND A.CODICE_FISCALE=AN.CODICE_FISCALE(+)
 AND AN.CODICE_VIA=EL.ELET_ID(+)
 AND EL.COM_ID(+)=55032
 
 
 
 
 ;
 
SELECT * FROM RATE
 SELECT * FROM BOLLETTE WHERE CODICE_UTENTE = 10390 AND CODICE_BOLLETTA=1105573;
 
 1190 353818
